1. Field of the Invention
The present invention relates generally to mass storage device control structures and methods in a dynamically mapped mass storage device and more specifically to structures and methods within the controller of a dynamically mapped mass storage device, such as a disk drive, operable to dynamically append metadata to stored user data to enable enhanced analysis and diagnosis of operation of the storage device.
2. Discussion of Related Art
A common example of a mass storage device is a disk drive having one or more rotating recordable media surfaces each with a corresponding read/write head for writing information thereon and for reading back previously written information. As used herein, “disk drive” is intended to represent such devices with rotating storage media and corresponding read/write heads as well as other similar, exemplary mass storage devices. Further, “recordable media”, “recordable media surface” and “persistent media” are all intended as synonymous and represent one or more media surfaces on which information may be recorded and read back—typically using optical or magnetic encoding and modulation techniques and structures.
It is generally known in the disk drive arts that fixed sized units of data are physically stored about the circumference of concentric tracks laid out on a magnetic or optical persistent storage media. These fixed size units of data are often referred to as “blocks” or “sectors”. A particular block or sector physically located on the rotating storage media may be identified by its cylinder or track number and its sector or block number within that track. In addition, where a disk drive includes multiple storage media services each with an independent read/write head, a particular head or surface number may identify the surface on which a particular physical block or sector is located. Such physical addresses are often referred to as “CHS” (an acronym for cylinder, head, and sector).
Most present-day disk drives permit a logical block address to be utilized by the host system or device rather than a specific CHS designation to identify a particular block or sector to be accessed. Such a logical address is typically a sequential range of logical block numbers from zero through N where N is the maximum number of physical sectors or blocks available on the disk drive storage media. The host may therefore address or identify a particular physical block by its logical block address (“LBA”) rather than by the more complex and cumbersome CHS designation. The disk drive (specifically a disk drive controller component of the disk drive) then translates or maps a provided logical block address (LBA) into a corresponding physical location (typically, a CHS address designation). Further, such logical addressing permits the disk drive controller to transparently redirect access for a particular physical block to an alternate or spare physical block where the original physical block has been damaged or is otherwise inaccessible. The disk drive controller merely translates the supplied LBA to a different physical block of the disk storage media.
As presently practiced in the art, physical sectors or blocks on the disk drive are all the same size as measured in number of bytes. For example, present disk drives often utilize a block or sector size of either 512 or 1024 bytes. The particular physical block or sector size may be any suitable size selected for a particular disk drive application in accordance with performance and storage capacity design choice tradeoffs. However, as presently known in the art, physical sectors on a disk drive are all a common, designated size. The logical blocks utilized by a host device in addressing storage of the disk drive are also a fixed size. Though the fixed size of a logical block may be different than the fixed size of the physical disk blocks, as presently practiced a simple arithmetic computation may be used because the physical block size and logical block size are typically integral multiples/fractions of one another. In other words, as presently practiced, a logical block size is typically an integral multiple of the physical block or sector size. Such a strict arithmetic relationship between the logical block size and physical block size precludes a number of possible features and enhancements within a disk drive.
The Parent discloses methods and structures for a dynamically mapped storage device in which mapping structures and methods hide the user from any knowledge of the actual location of user supplied data by dynamically mapping user supplied logical blocks to physical disk blocks wherein the size of a user supplied logical block is independent of the size of the one or more corresponding physical disk blocks used to store the user supplied logical block. Typically the logical block size is fixed while the physical disk block size may vary since the mapping is completely localized within the storage device.
Thus the Parent provides improved logical to physical mapping for blocks of data within a disk drive of such that the logical block size defined by an attached host system may be independent of the physical block size used within the disk drive for storage of information.
It is desirable to analyze or diagnose operation of a storage device to anticipate failures or to analyze performance problems or potential performance improvements. In typical present day disk drives, minimal or no diagnostic or performance data is gathered in the storage device for purposes of analyzing or diagnosing operation of the storage device. In a manufacturing context, such diagnostic performance monitoring may be achieved by external instrumentation coupled to the operating storage device or by retrieval of minimal diagnostic information gathered by the storage device. However, in an installed application environment of the storage device, such diagnostic and analytical information is not easily obtained. Thus diagnosis or analysis of an operating storage device in its intended end use application is rendered difficult or impossible.
It remains an ongoing problem in all storage devices to permit useful diagnosis and analysis of an operating storage device in its intended end use application.